package com.mini.cn.goods.servlet.ws.serializer;

/**
 * Created with IntelliJ IDEA.

 * User: fly
 * Date: 2020-05-14
 * Time: 6:23 下午
 */
public interface ISerializer {

    byte JSON = 0;
    byte JAVA = 1;

    /**
     * 序列化算法
     */
    byte getSerializerAlgorithm();

    /**
     * java 对象转换成二进制
     */
    byte[] serializeBytes(Object object);

    /**
     * java 对象转string
     *
     * @param object
     * @return
     */
    String serializeString(Object object);

    /**
     * 二进制转换成 java 对象
     */
    <T> T deserialize(Class<T> clazz, byte[] bytes);

    /**
     * 字符串换成java对象
     *
     * @param clazz
     * @param content
     * @param <T>
     * @return
     */
    <T> T deserialize(Class<T> clazz, String content);
}
